From: Jonas Dreßler Date: Thu, 26 Apr 2018 09:19:40 +0000 (+0200) Subject: switcherPopup: Implement functions to add and remove accessible states X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~772^2^2~26 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=bfb0bc7a291af8ba75ab3d8c99bc1616e08db536;p=gnome-shell.git switcherPopup: Implement functions to add and remove accessible states Set the accessible states of the switcherList items by calling a function instead of manipulating class-internal variables from outside the class, which is considered bad practice. The check whether the item at `_selectedIndex` exists can also be removed since we always select a new index after an item was removed (i.e. an app was closed) and destroy the alt-tab switcher right away if no more items exist (see `SwitcherPopup._itemRemovedHandler`). https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/167 --- diff --git a/js/ui/altTab.js b/js/ui/altTab.js index 0130fa245..12b784939 100644 --- a/js/ui/altTab.js +++ b/js/ui/altTab.js @@ -365,8 +365,7 @@ class AppSwitcherPopup extends SwitcherPopup.SwitcherPopup { }, }); this._thumbnails = null; - if (this._switcherList._items[this._selectedIndex]) - this._switcherList._items[this._selectedIndex].remove_accessible_state(Atk.StateType.EXPANDED); + this._switcherList.removeAccessibleState(this._selectedIndex, Atk.StateType.EXPANDED); } _createThumbnails() { @@ -395,7 +394,7 @@ class AppSwitcherPopup extends SwitcherPopup.SwitcherPopup { }, }); - this._switcherList._items[this._selectedIndex].add_accessible_state(Atk.StateType.EXPANDED); + this._switcherList.addAccessibleState(this._selectedIndex, Atk.StateType.EXPANDED); } }); diff --git a/js/ui/switcherPopup.js b/js/ui/switcherPopup.js index 5f2839cf2..46a4b158a 100644 --- a/js/ui/switcherPopup.js +++ b/js/ui/switcherPopup.js @@ -444,6 +444,14 @@ var SwitcherList = GObject.registerClass({ this.emit('item-removed', index); } + addAccessibleState(index, state) { + this._items[index].add_accessible_state(state); + } + + removeAccessibleState(index, state) { + this._items[index].remove_accessible_state(state); + } + _onItemClicked(index) { this._itemActivated(index); }